// 引入vue
import Vue from 'vue';
// 引入vue路由
import VueRouter from 'vue-router';
// 使用路由插件
Vue.use(VueRouter)




//重写编程式导航push|replace方法->解决多次点击报错问题
//调用编程式导航push|replace,this指向务必实VueRouter类的实例
const push = VueRouter.prototype.push;
const replace = VueRouter.prototype.replace;
VueRouter.prototype.push = function (location) {
  //this.$router.tiaozhuan()->即为this(VueRouter类的实例)
  //call的第一个参数:篡改的this
  //push(location)->undefined
  //push.call(this)->VueRouter类的实例
  push.call(this, location, () => { }, (error) => { });
}
VueRouter.prototype.replace = function (location) {
  replace.apply(this, [location, () => { }, () => { }])
}

import routes from './routes';   //把路由配置单拆为一个文件,引进来使用

// 创建路由并暴露
export default new VueRouter({
  mode: 'hash',   //路由模式为hash
  routes,          //配置路由
  scrollBehavior(){      //路由的滚动行为,从一个路由组件调到另一个路由组件,滚动条在顶部
    return {
        y:0
    }
  }
})